package ywpt.model;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import ywpt.components.acegi.domain.User;

public class JobInfo implements java.io.Serializable {

	/**
	 * 服务单管理
	 */
	private static final long serialVersionUID = 7042347679926331608L;
	private  Long id;//
	private  String sysCode;
	private  String jobCode;//服务单号
	private  int mark;//1 软件,2硬件
	private  CallRecord callRecord;//关联电话记录
	private  Department depart;//所属部门
	private  CommonTable type;//服务单类型
	private  Boolean connNow;//是否需要马上联系客户
	private  Boolean replyNow;//是否需要及时回复指派人
	private  Date billDate;//生成日期
	private  ClientInfo client;//客户
	private  ClientKeshi keshi;//科室
	private  String linkMan;//联系人
	private  String phone;//联系电话
	private  PeopleInfo acceptMan;//受理工程师
	private  String assistMans;//协助工程师
	private  Double amount;//服务金额
	private  Date startDate;//要求开始时间
	private  Date endDate;//要求结束时间
	private  PeopleInfo sendBill;//派单人
	private  Department sendDepart;//派单部门
	private  CommonTable proType;//问题类型
	private  String requDesc;//问题描述
	private  CommonTable state;//服务单状态
	private  CommonTable imporDeg;//服务单重要度
	private  int version;//版本号
	private  Date  createDate;//录入日期
	private  User  createUser;//录入人
	private  Date  modifyDate;//最后修改时间
	private  User  modifyUser;//最后修改人
	private  Boolean deleteFlag;//是否删除
	private  Boolean checkFlag;//是否审核
	private  Boolean submitFlag;//
	private  Boolean visitFlag;//
	
	private String str;
	
	
	//服务过程
	private Set<JobProcInfo>  jobProcInfoSet = new HashSet<JobProcInfo>();
	//小额收款
	private  Set<SmallAmount> smallAmountSet = new HashSet<SmallAmount>();
	
	public JobInfo() {
		this.checkFlag=false;
		this.deleteFlag=false;
		this.connNow=true;
		this.replyNow = true;
		this.deleteFlag = false;
		this.amount = 0.00;
		this.submitFlag=false;
		this.visitFlag = false;
	}	
	
	public Set<SmallAmount> getSmallAmountSet() {
		return smallAmountSet;
	}
	public void setSmallAmountSet(Set<SmallAmount> smallAmountSet) {
		this.smallAmountSet = smallAmountSet;
	}
	
	public Set<JobProcInfo> getJobProcInfoSet() {
		return jobProcInfoSet;
	}

	public void setJobProcInfoSet(Set<JobProcInfo> jobProcInfoSet) {
		this.jobProcInfoSet = jobProcInfoSet;
	}
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public CallRecord getCallRecord() {
		return callRecord;
	}
	public void setCallRecord(CallRecord callRecord) {
		this.callRecord = callRecord;
	}
	public Department getDepart() {
		return depart;
	}
	public void setDepart(Department depart) {
		this.depart = depart;
	}
	public CommonTable getType() {
		return type;
	}
	public void setType(CommonTable type) {
		this.type = type;
	}
	public Boolean getConnNow() {
		return connNow;
	}
	public void setConnNow(Boolean connNow) {
		this.connNow = connNow;
	}
	public Boolean getReplyNow() {
		return replyNow;
	}
	public void setReplyNow(Boolean replyNow) {
		this.replyNow = replyNow;
	}
	public Date getBillDate() {
		return billDate;
	}
	public void setBillDate(Date billDate) {
		this.billDate = billDate;
	}
	public ClientInfo getClient() {
		return client;
	}
	public void setClient(ClientInfo client) {
		this.client = client;
	}
	public ClientKeshi getKeshi() {
		return keshi;
	}
	public void setKeshi(ClientKeshi keshi) {
		this.keshi = keshi;
	}
 
	public String getLinkMan() {
		return linkMan;
	}
	public void setLinkMan(String linkMan) {
		this.linkMan = linkMan;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public PeopleInfo getAcceptMan() {
		return acceptMan;
	}
	public void setAcceptMan(PeopleInfo acceptMan) {
		this.acceptMan = acceptMan;
	}
	public String getAssistMans() {
		return assistMans;
	}
	public void setAssistMans(String assistMans) {
		this.assistMans = assistMans;
	}
	public Double getAmount() {
		return amount;
	}
	public void setAmount(Double amount) {
		this.amount = amount;
	}
	public Date getStartDate() {
		return startDate;
	}
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	public PeopleInfo getSendBill() {
		return sendBill;
	}
	public void setSendBill(PeopleInfo sendBill) {
		this.sendBill = sendBill;
	}
	public Department getSendDepart() {
		return sendDepart;
	}
	public void setSendDepart(Department sendDepart) {
		this.sendDepart = sendDepart;
	}
	public CommonTable getProType() {
		return proType;
	}
	public void setProType(CommonTable proType) {
		this.proType = proType;
	}
	public String getRequDesc() {
		return requDesc;
	}
	public void setRequDesc(String requDesc) {
		this.requDesc = requDesc;
	}
	public CommonTable getState() {
		return state;
	}
	public void setState(CommonTable state) {
		this.state = state;
	}
	public CommonTable getImporDeg() {
		return imporDeg;
	}
	public void setImporDeg(CommonTable imporDeg) {
		this.imporDeg = imporDeg;
	}
	public int getVersion() {
		return version;
	}
	public void setVersion(int version) {
		this.version = version;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public User getCreateUser() {
		return createUser;
	}
	public void setCreateUser(User createUser) {
		this.createUser = createUser;
	}
	public Date getModifyDate() {
		return modifyDate;
	}
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}
	public User getModifyUser() {
		return modifyUser;
	}
	public void setModifyUser(User modifyUser) {
		this.modifyUser = modifyUser;
	}
	public Boolean getDeleteFlag() {
		return deleteFlag;
	}
	public void setDeleteFlag(Boolean deleteFlag) {
		this.deleteFlag = deleteFlag;
	}

	public int getMark() {
		return mark;
	}

	public void setMark(int mark) {
		this.mark = mark;
	}
	public String getJobCode() {
		return jobCode;
	}
	public void setJobCode(String jobCode) {
		this.jobCode = jobCode;
	}
	public Boolean getCheckFlag() {
		return checkFlag;
	}
	public void setCheckFlag(Boolean checkFlag) {
		this.checkFlag = checkFlag;
	}
	public String getStr() {
		String result="";
		if (depart!=null) {
			result = result + depart.getDepartName();
		}
		if (jobCode!=null) {
			result = result +"-"+jobCode;
		}
		if (client!=null) {
			result = result+"-"+client.getClientName();
		}
		return result;
	}


	public Boolean getSubmitFlag() {
		return submitFlag;
	}


	public void setSubmitFlag(Boolean submitFlag) {
		this.submitFlag = submitFlag;
	}

	public Boolean getVisitFlag() {
		return visitFlag;
	}

	public void setVisitFlag(Boolean visitFlag) {
		this.visitFlag = visitFlag;
	}

	public String getSysCode() {
		return sysCode;
	}

	public void setSysCode(String sysCode) {
		this.sysCode = sysCode;
	}
	
}
